// 引入封装好的请求方法
import request from '@/utils/request';

/**
 * 新增设备用户关联记录
 * @param {Object} deviceUser - DeviceUser 对象
 * @returns {Promise} - 包含请求结果的 Promise 对象
 */
export function saveDeviceUser(deviceUser) {
    return request({
        url: '/deviceUser/save',
        method: 'post',
        data: deviceUser
    });
}

/**
 * 新增多个设备用户关联记录
 * @param {string} deviceid - 设备 id
 * @param {Array} deviceUsers - DeviceUser 对象数组
 * @returns {Promise} - 包含请求结果的 Promise 对象
 */
export function saveManyDeviceUsers(deviceid, deviceUsers) {
    return request({
        url: `/deviceUser/saveMany/${deviceid}`,
        method: 'post',
        data: deviceUsers
    });
}

/**
 * 按 id 删除设备用户关联记录
 * @param {string} id - 记录 ID
 * @returns {Promise} - 包含请求结果的 Promise 对象
 */
export function deleteDeviceUserById(id) {
    return request({
        url: `/deviceUser/delete/${id}`,
        method: 'post'
    });
}

/**
 * 按 id 修改设备用户关联记录
 * @param {string} id - 记录 ID
 * @param {Object} deviceUser - DeviceUser 对象
 * @returns {Promise} - 包含请求结果的 Promise 对象
 */
export function updateDeviceUserById(id, deviceUser) {
    return request({
        url: `/deviceUser/update/${id}`,
        method: 'post',
        data: deviceUser
    });
}

/**
 * 按 id 查询设备用户关联记录
 * @param {string} id - 记录 ID
 * @returns {Promise} - 包含请求结果的 Promise 对象
 */
export function getDeviceUserById(id) {
    return request({
        url: `/deviceUser/get/${id}`,
        method: 'get'
    });
}

/**
 * 条件查询设备用户关联记录（带分页）
 * @param {Object} deviceUserQuery - 查询条件对象
 * @returns {Promise} - 包含请求结果的 Promise 对象
 */
export function getDeviceUserListWithPage(deviceUserQuery) {
    return request({
        url: '/deviceUser/page',
        method: 'post',
        data: deviceUserQuery
    });
}

/**
 * 条件查询设备用户关联记录
 * @param {Object} deviceUser - DeviceUser 查询条件对象
 * @returns {Promise} - 包含请求结果的 Promise 对象
 */
export function getDeviceUserList(deviceUser) {
    return request({
        url: '/deviceUser/list',
        method: 'post',
        data: deviceUser
    });
}

/**
 * 按设备 id 查询设备用户关联记录
 * @param {string} deviceId - 设备 ID
 * @returns {Promise} - 包含请求结果的 Promise 对象
 */
export function getDeviceUserListByDeviceId(deviceId) {
    return request({
        url: `/deviceUser/getDeviceUserInfo/${deviceId}`,
        method: 'get'
    });
}